[INFO] cloning repository https://github.com/caspianmerlin/traffic-viewer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/caspianmerlin/traffic-viewer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcaspianmerlin%2Ftraffic-viewer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcaspianmerlin%2Ftraffic-viewer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e5249710c6b467914b9d449be518300a6e4b68a2
[INFO] checking caspianmerlin/traffic-viewer/e5249710c6b467914b9d449be518300a6e4b68a2 against master#f28ac764c36004fa6a6e098d15b4016a838c13c6 for pr-158320
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcaspianmerlin%2Ftraffic-viewer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/caspianmerlin/traffic-viewer
[INFO] finished tweaking git repo https://github.com/caspianmerlin/traffic-viewer
[INFO] tweaked toml for git repo https://github.com/caspianmerlin/traffic-viewer written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/caspianmerlin/traffic-viewer on toolchain f28ac764c36004fa6a6e098d15b4016a838c13c6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/caspianmerlin/traffic-viewer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustls-pki-types v1.1.0
[INFO] [stderr]   Downloaded vswhom-sys v0.1.2
[INFO] [stderr]   Downloaded hootbin v0.1.1
[INFO] [stderr]   Downloaded embed-resource v2.4.1
[INFO] [stderr]   Downloaded winreg v0.51.0
[INFO] [stderr]   Downloaded hoot v0.1.3
[INFO] [stderr]   Downloaded fsd_interface v0.1.21
[INFO] [stderr]   Downloaded toml v0.8.9
[INFO] [stderr]   Downloaded ureq v2.9.4
[INFO] [stderr]   Downloaded webpki-roots v0.26.0
[INFO] [stderr]   Downloaded winnow v0.5.36
[INFO] [stderr]   Downloaded rustls-webpki v0.102.1
[INFO] [stderr]   Downloaded rustls v0.22.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770
[INFO] running `Command { std: "docker" "start" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770" "/opt/rustwide/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770" "/opt/rustwide/cargo-home/bin/cargo" "+f28ac764c36004fa6a6e098d15b4016a838c13c6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling semver v1.0.21
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]    Compiling winnow v0.5.36
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling indexmap v2.2.2
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]     Checking rustls-pki-types v1.1.0
[INFO] [stderr]    Compiling windows_x86_64_gnu v0.52.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling rustls v0.22.2
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking hoot v0.1.3
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking windows-targets v0.52.0
[INFO] [stderr]     Checking webpki-roots v0.26.0
[INFO] [stderr]     Checking windows-sys v0.52.0
[INFO] [stderr]     Checking url v2.3.1
[INFO] [stderr]    Compiling ring v0.17.7
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling serde_spanned v0.6.5
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]     Checking rustls-webpki v0.102.1
[INFO] [stderr]    Compiling toml v0.8.9
[INFO] [stderr]    Compiling embed-resource v2.4.1
[INFO] [stderr]    Compiling traffic-viewer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hootbin v0.1.1
[INFO] [stderr]     Checking fsd_interface v0.1.21
[INFO] [stderr]     Checking ureq v2.9.4
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `mpsc::Sender`
[INFO] [stdout]  --> src/core/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, sync::{atomic::{AtomicBool, Ordering}, mpsc::Sender, Arc, Mutex}, thread::JoinHandle};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^                                         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `TryRecvError`, `mem`, and `ptr`
[INFO] [stdout]  --> src/core/worker.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::CStr, mem, ops::{Div, Mul}, ptr, sync::{atomic::{AtomicBool, Ordering}, mpsc::{Receiver, Sender, TryRecvError}, Arc}, ...
[INFO] [stdout]   |                      ^^^                   ^^^                                                ^^^^^^^^          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientQueryMessage`
[INFO] [stdout]  --> src/core/fsd.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use fsd_interface::{messages::{ClientQueryMessage, ClientQueryResponseMessage, FlightPlanMessage, MetarResponseMessage, TextMessage},...
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `worker::FLIGHT_PLAN_RECIPIENT`
[INFO] [stdout]  --> src/core/fsd.rs:7:63
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{metar::MetarProvider, vatsim::VatsimDataProvider, worker::FLIGHT_PLAN_RECIPIENT, Preferences};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::Message`
[INFO] [stdout]  --> src/core/metar.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ui::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]  --> src/core/fsuipc.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern {}
[INFO] [stdout]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDOK`
[INFO] [stdout]  --> src/win32_ui_impl/window.rs:3:553
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...EDEFAULT, DLGWINDOWEXTRA, EN_CHANGE, GWLP_USERDATA, IDC_ARROW, IDOK, MB_ICONERROR, SWP_NOSIZE, SWP_NOZORDER, WM_CLOSE, WM_COMMAND,...
[INFO] [stdout]   |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Foundation::GetLastError`
[INFO] [stdout]  --> src/win32_ui_impl/main_page.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use windows_sys::Win32::{Foundation::GetLastError, UI::{Controls::{CheckDlgButton, IsDlgButtonChecked, BST_CHECKED, BST_UNCHECKED, EM...
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `mpsc::Sender`
[INFO] [stdout]  --> src/core/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, sync::{atomic::{AtomicBool, Ordering}, mpsc::Sender, Arc, Mutex}, thread::JoinHandle};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^                                         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `TryRecvError`, `mem`, and `ptr`
[INFO] [stdout]  --> src/core/worker.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::CStr, mem, ops::{Div, Mul}, ptr, sync::{atomic::{AtomicBool, Ordering}, mpsc::{Receiver, Sender, TryRecvError}, Arc}, ...
[INFO] [stdout]   |                      ^^^                   ^^^                                                ^^^^^^^^          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientQueryMessage`
[INFO] [stdout]  --> src/core/fsd.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use fsd_interface::{messages::{ClientQueryMessage, ClientQueryResponseMessage, FlightPlanMessage, MetarResponseMessage, TextMessage},...
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `worker::FLIGHT_PLAN_RECIPIENT`
[INFO] [stdout]  --> src/core/fsd.rs:7:63
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{metar::MetarProvider, vatsim::VatsimDataProvider, worker::FLIGHT_PLAN_RECIPIENT, Preferences};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::Message`
[INFO] [stdout]  --> src/core/metar.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ui::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]  --> src/core/fsuipc.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern {}
[INFO] [stdout]   | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IDOK`
[INFO] [stdout]  --> src/win32_ui_impl/window.rs:3:553
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...EDEFAULT, DLGWINDOWEXTRA, EN_CHANGE, GWLP_USERDATA, IDC_ARROW, IDOK, MB_ICONERROR, SWP_NOSIZE, SWP_NOZORDER, WM_CLOSE, WM_COMMAND,...
[INFO] [stdout]   |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Foundation::GetLastError`
[INFO] [stdout]  --> src/win32_ui_impl/main_page.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use windows_sys::Win32::{Foundation::GetLastError, UI::{Controls::{CheckDlgButton, IsDlgButtonChecked, BST_CHECKED, BST_UNCHECKED, EM...
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt_diff`
[INFO] [stdout]    --> src/core/worker.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 | ...                   let alt_diff = ((own_aircraft_data.local_qnh_in_hg - 29.92).mul(100.0).round().div(100.0) * 1000.0) as f64;
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_diff`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alt_diff`
[INFO] [stdout]    --> src/core/worker.rs:144:33
[INFO] [stdout]     |
[INFO] [stdout] 144 | ...                   let alt_diff = ((own_aircraft_data.local_qnh_in_hg - 29.92).mul(100.0).round().div(100.0) * 1000.0) as f64;
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_alt_diff`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/win32_ui_impl/window.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 _ => {},
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/win32_ui_impl/window.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout]  67 |                 UiMessage::MsfsConnected => ui.status_bar.set_msfs_connected(true),
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout]  68 |                 UiMessage::MsfsDisconnected => ui.status_bar.set_msfs_connected(false),
[INFO] [stdout]     |                 --------------------------- matches some of the same values
[INFO] [stdout]  69 |                 UiMessage::EuroscopeConnected => {
[INFO] [stdout]     |                 ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 UiMessage::EuroscopeDisconnected => {
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 _ => {},
[INFO] [stdout]     |                 ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fsd` and `vatsim_data_provider` are never read
[INFO] [stdout]   --> src/core/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct App<U: Ui> {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 13 |     thread: Option<JoinHandle<()>>,
[INFO] [stdout] 14 |     fsd: Server,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     metar_provider: MetarProvider,
[INFO] [stdout] 16 |     vatsim_data_provider: VatsimDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_packet` is never used
[INFO] [stdout]   --> src/core/fsd.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Server {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn send_packet(&mut self, message: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_flight_plan` and `get_details` are never used
[INFO] [stdout]    --> src/core/vatsim.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl VatsimAircraft {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn get_flight_plan(&self) -> Option<FlightPlan> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn get_details(&self) -> &Details {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cid`, `altitude`, and `heading` are never read
[INFO] [stdout]    --> src/core/vatsim.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Details {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 130 |     pub cid: i32,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub altitude: i32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 135 |     pub heading: u32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Details` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fsuipc_version`, `fs_version`, and `fsuipc_lib_version` are never read
[INFO] [stdout]   --> src/core/fsuipc.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Versions {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 37 |     pub fsuipc_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub fs_version: FlightSimVersion,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 39 |     pub fsuipc_lib_version: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Versions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pressure_alt` and `xpdr_str` are never read
[INFO] [stdout]    --> src/core/fsuipc.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub struct OwnAircraftData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub pressure_alt: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub xpdr_str: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OwnAircraftData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_hwnd` is never read
[INFO] [stdout]   --> src/win32_ui_impl/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Win32Ui {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 22 |     hinst: isize,
[INFO] [stdout] 23 |     main_hwnd: HWND,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/win32_ui_impl/main_page.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl MainPage {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub unsafe fn select_all_callsign_input_text(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub unsafe fn set_sync_with_es_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub unsafe fn set_fetch_metars_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub unsafe fn set_fetch_flight_plans_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub unsafe fn get_sync_with_es_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub unsafe fn get_fetch_metars_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub unsafe fn get_sync_wset_fetch_flight_plans_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/fsd.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.sender.send(message);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = self.sender.send(message);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]   --> src/win32_ui_impl/util.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     mem::transmute(x as u64)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]    = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]    = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]    = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]    = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]    = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]    |
[INFO] [stdout] 18 -     mem::transmute(x as u64)
[INFO] [stdout] 18 +     std::ptr::with_exposed_provenance::<u16>(x as u64)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/win32_ui_impl/window.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 _ => {},
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/win32_ui_impl/window.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout]  67 |                 UiMessage::MsfsConnected => ui.status_bar.set_msfs_connected(true),
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout]  68 |                 UiMessage::MsfsDisconnected => ui.status_bar.set_msfs_connected(false),
[INFO] [stdout]     |                 --------------------------- matches some of the same values
[INFO] [stdout]  69 |                 UiMessage::EuroscopeConnected => {
[INFO] [stdout]     |                 ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  77 |                 UiMessage::EuroscopeDisconnected => {
[INFO] [stdout]     |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 116 |                 _ => {},
[INFO] [stdout]     |                 ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fsd` and `vatsim_data_provider` are never read
[INFO] [stdout]   --> src/core/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct App<U: Ui> {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 13 |     thread: Option<JoinHandle<()>>,
[INFO] [stdout] 14 |     fsd: Server,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     metar_provider: MetarProvider,
[INFO] [stdout] 16 |     vatsim_data_provider: VatsimDataProvider,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_packet` is never used
[INFO] [stdout]   --> src/core/fsd.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Server {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn send_packet(&mut self, message: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_flight_plan` and `get_details` are never used
[INFO] [stdout]    --> src/core/vatsim.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl VatsimAircraft {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn get_flight_plan(&self) -> Option<FlightPlan> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn get_details(&self) -> &Details {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cid`, `altitude`, and `heading` are never read
[INFO] [stdout]    --> src/core/vatsim.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Details {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 130 |     pub cid: i32,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub altitude: i32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 135 |     pub heading: u32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Details` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fsuipc_version`, `fs_version`, and `fsuipc_lib_version` are never read
[INFO] [stdout]   --> src/core/fsuipc.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Versions {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 37 |     pub fsuipc_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub fs_version: FlightSimVersion,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 39 |     pub fsuipc_lib_version: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Versions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pressure_alt` and `xpdr_str` are never read
[INFO] [stdout]    --> src/core/fsuipc.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub struct OwnAircraftData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub pressure_alt: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub xpdr_str: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OwnAircraftData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_hwnd` is never read
[INFO] [stdout]   --> src/win32_ui_impl/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Win32Ui {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 22 |     hinst: isize,
[INFO] [stdout] 23 |     main_hwnd: HWND,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/win32_ui_impl/main_page.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl MainPage {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub unsafe fn select_all_callsign_input_text(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub unsafe fn set_sync_with_es_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub unsafe fn set_fetch_metars_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub unsafe fn set_fetch_flight_plans_checkbox_enabled(&mut self, enabled: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub unsafe fn get_sync_with_es_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub unsafe fn get_fetch_metars_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub unsafe fn get_sync_wset_fetch_flight_plans_checkbox_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/fsd.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.sender.send(message);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = self.sender.send(message);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]   --> src/win32_ui_impl/util.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     mem::transmute(x as u64)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]    = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]    = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]    = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]    = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]    = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]    |
[INFO] [stdout] 18 -     mem::transmute(x as u64)
[INFO] [stdout] 18 +     std::ptr::with_exposed_provenance::<u16>(x as u64)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.15s
[INFO] running `Command { std: "docker" "inspect" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770", kill_on_drop: false }`
[INFO] [stdout] 7a6d39940b0d9216d6f8e6e1f584c4721a3053291f5bc4940bac9ae862593770
